/**
 * 创建者接口 - 工厂方法模式中的工厂抽象
 * 
 * 声明了工厂方法，该方法返回一个Product类型的对象
 * 具体的子类将实现这个方法以创建特定类型的产品
 */
package com.mkx.creationals.factory;

public abstract class Creator {
    /**
     * 工厂方法 - 由子类实现，创建具体产品
     * 
     * @return 创建的产品实例
     */
    public abstract Product factoryMethod();
    
    /**
     * 业务方法 - 使用工厂创建的产品执行操作
     */
    public void businessLogic() {
        // 调用工厂方法获取产品
        Product product = factoryMethod();
        // 使用产品
        product.operation();
    }
}